                # 'Foo'     'object'    {'bar':'bip'}
def upper_attr(class_name,class_pattern,class_attrs):
    #遍历字典，把不是以__开头的属性名编程大写
    new_attr={}
    for name,value in class_attrs.items():
        if not name.startswith('__'):
            new_attr[name.upper()]=value

    #调用type来创建一个类
    return type(class_name,class_pattern,new_attr)
    #返回值当做类对象


#metaclass不指定的话默认调用type创建类
class Foo(object,metaclass=upper_attr):
    bar='bip'

print(hasattr(Foo,'bar'))
print(hasattr(Foo,'BAR'))

f=Foo()
print(f.BAR)